输入n(n<=20)个数,按绝对值从大到小排序后输出

来源:百度知道 编辑:UC知道 时间:2024/05/29 15:16:47
用C++ 谢谢咯,, 哪位大哥大姐 帮帮忙哈!!

让我们写的刺激一点

#include <iostream>
#include <vector>

using namespace std;

template <typename Comparable>
Comparable abs( Comparable a )
{
if ( a < 0 ) return -a;
return a;
}

template <typename Comparable>
void insertionsort( vector<Comparable> & a )
{
int i, j;
for ( i = 1; i < a.size( ); i++ )
{
Comparable k = a[ i ];
for ( j = i; j > 0 && abs( k ) > abs( a[ j - 1 ] ); j-- )
a[ j ] = a[ j - 1 ];
a[ j ] = k;
}
}

int main( )
{
int i, n;
cin >> n;
vector<int> a ( n );
for ( i = 0; i < n; i++ )
cin >> a[ i ];
insertionsort( a );
for ( i = 0; i < n; i++ )
cout << a[ i ] << ' ';
return 0;
}